<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MuldeR&#39;s Utilities for Qt: include/MUtils/Global.h File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MuldeR&#39;s Utilities for Qt
   </div>
   <div id="projectbrief">MUtilities</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="../../dir_b076b53667bc06ebb413a190e197fc7b.html">MUtils</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Global.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This file contains miscellaneous functions that are generally useful for Qt-based applications.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;QString&gt;</code><br />
</div>
<p><a href="../../d5/d3b/_global_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d3/da6/namespace_m_utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html">MUtils</a></td></tr>
<tr class="memdesc:d3/da6/namespace_m_utils"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global <a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> namespace. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ad42b1946a83df3bd76734d5ab691fd0d"><td class="memItemLeft" align="right" valign="top"><a id="ad42b1946a83df3bd76734d5ab691fd0d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#ad42b1946a83df3bd76734d5ab691fd0d">MUTILS_DELETE</a>(PTR)&#160;&#160;&#160;do { if((PTR)) { delete (PTR); (PTR) = NULL; } } while(0)</td></tr>
<tr class="memdesc:ad42b1946a83df3bd76734d5ab691fd0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the object, if and only if the given pointer is <em>not</em> NULL. Also sets pointer to NULL after object has been deleted. <br /></td></tr>
<tr class="separator:ad42b1946a83df3bd76734d5ab691fd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="memItemLeft" align="right" valign="top"><a id="aa544a37b80f1ab9d86f439a7666e9aa8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#aa544a37b80f1ab9d86f439a7666e9aa8">MUTILS_DELETE_ARRAY</a>(PTR)&#160;&#160;&#160;do { if((PTR)) { delete [] (PTR); (PTR) = NULL; } } while(0)</td></tr>
<tr class="memdesc:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the array, if and only if the given pointer is <em>not</em> NULL. Also sets pointer to NULL after array has been deleted. <br /></td></tr>
<tr class="separator:aa544a37b80f1ab9d86f439a7666e9aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fe39de37351efa3ca46bdc8653e1f25"><td class="memItemLeft" align="right" valign="top"><a id="a1fe39de37351efa3ca46bdc8653e1f25"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a1fe39de37351efa3ca46bdc8653e1f25">MUTILS_ZERO_MEMORY</a>(PTR)&#160;&#160;&#160;memset(&amp;(PTR), 0, sizeof((PTR)))</td></tr>
<tr class="memdesc:a1fe39de37351efa3ca46bdc8653e1f25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the specified variable or struct by setting all of its bytes to <em>zero</em> (<code>0x00</code>). Do <b>not</b> use for arrays. <br /></td></tr>
<tr class="separator:a1fe39de37351efa3ca46bdc8653e1f25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af55d43b39d3f41cf090c138ed190ee6e"><td class="memItemLeft" align="right" valign="top"><a id="af55d43b39d3f41cf090c138ed190ee6e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#af55d43b39d3f41cf090c138ed190ee6e">MUTILS_WCHR</a>(STR)&#160;&#160;&#160;(reinterpret_cast&lt;const wchar_t*&gt;((STR).utf16()))</td></tr>
<tr class="memdesc:af55d43b39d3f41cf090c138ed190ee6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given QString object to a <code>wchar_t*</code> pointer. Does <b>not</b> copy the string data, so do <b>not</b> free the pointer! The returned pointer only remains valid until the underlying QString is modified or goes out of scope. <br /></td></tr>
<tr class="separator:af55d43b39d3f41cf090c138ed190ee6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88b0902153ea537b12d86267af20eb3f"><td class="memItemLeft" align="right" valign="top"><a id="a88b0902153ea537b12d86267af20eb3f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a88b0902153ea537b12d86267af20eb3f">MUTILS_UTF8</a>(STR)&#160;&#160;&#160;((STR).toUtf8().constData())</td></tr>
<tr class="memdesc:a88b0902153ea537b12d86267af20eb3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given QString object to a <code>char*</code> pointer. The string is converted to UTF-8 encoding. The pointer is valid <em>only</em> while the expression is being evaluated, so do <b>not</b> free or store this pointer! Mainly useful for function calls that require a <code>char*</code> argument. <br /></td></tr>
<tr class="separator:a88b0902153ea537b12d86267af20eb3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e190bac06bf7cb9993cfb4c75f66fb6"><td class="memItemLeft" align="right" valign="top"><a id="a9e190bac06bf7cb9993cfb4c75f66fb6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a9e190bac06bf7cb9993cfb4c75f66fb6">MUTILS_L1STR</a>(STR)&#160;&#160;&#160;((STR).toLatin1().constData())</td></tr>
<tr class="memdesc:a9e190bac06bf7cb9993cfb4c75f66fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given QString object to a <code>char*</code> pointer. The string is converted to Latin-1 encoding. The pointer is valid <em>only</em> while the expression is being evaluated, so do <b>not</b> free or store this pointer! Mainly useful for function calls that require a <code>char*</code> argument. <br /></td></tr>
<tr class="separator:a9e190bac06bf7cb9993cfb4c75f66fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04d63f6f60c90f8e3c4029824a7352b0"><td class="memItemLeft" align="right" valign="top"><a id="a04d63f6f60c90f8e3c4029824a7352b0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a04d63f6f60c90f8e3c4029824a7352b0">MUTILS_QSTR</a>(STR)&#160;&#160;&#160;(QString::fromUtf16(reinterpret_cast&lt;const unsigned short*&gt;((STR))))</td></tr>
<tr class="memdesc:a04d63f6f60c90f8e3c4029824a7352b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a QString object from a given <code>wchar_t*</code> buffer. The buffer is expected to conatin a NULL-terminated string in UTF-16 encoding. The string data is copied into the new QString object, however the original buffer will <b>not</b> be freed automatically! <br /></td></tr>
<tr class="separator:a04d63f6f60c90f8e3c4029824a7352b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="memItemLeft" align="right" valign="top"><a id="a177ecbfe7701c2ac04bb8bdeb208773a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a177ecbfe7701c2ac04bb8bdeb208773a">MUTILS_BOOL2STR</a>(X)&#160;&#160;&#160;((X) ? &quot;1&quot; : &quot;0&quot;)</td></tr>
<tr class="memdesc:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a boolean expression into a string. A <em>true</em> boolean expression is converted to the string <code>"1"</code>; a <em>false</em> boolean expression is converted to the string <code>"0"</code>. <br /></td></tr>
<tr class="separator:a177ecbfe7701c2ac04bb8bdeb208773a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8455a4d868742129d26356469fae26ba"><td class="memItemLeft" align="right" valign="top"><a id="a8455a4d868742129d26356469fae26ba"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a8455a4d868742129d26356469fae26ba">MUTILS_BOOLIFY</a>(X)&#160;&#160;&#160;(!(!(X)))</td></tr>
<tr class="memdesc:a8455a4d868742129d26356469fae26ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a given expression into a boolean expression, by application of double negation operator. <br /></td></tr>
<tr class="separator:a8455a4d868742129d26356469fae26ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e7b4857b78f9749233e5abc96534ca8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d3b/_global_8h.html#a8e7b4857b78f9749233e5abc96534ca8">MUTILS_NO_COPY</a>(CLASS)</td></tr>
<tr class="memdesc:a8e7b4857b78f9749233e5abc96534ca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables copy constructor and assignment operator in the specified class. This macro should be used in the "private" section of the class' declaration.  <a href="#a8e7b4857b78f9749233e5abc96534ca8">More...</a><br /></td></tr>
<tr class="separator:a8e7b4857b78f9749233e5abc96534ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="memItemLeft" align="right" valign="top">MUTILS_API const QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34">MUtils::temp_folder</a> (void)</td></tr>
<tr class="memdesc:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rerieves the full path of the application's <em>Temp</em> folder.  <a href="../../d3/da6/namespace_m_utils.html#a3f198156e8be91f3e74dd9ed69ffaa34">More...</a><br /></td></tr>
<tr class="separator:a3f198156e8be91f3e74dd9ed69ffaa34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ecb5d72f33a7b6feadd7deb8ed46cc3"><td class="memItemLeft" align="right" valign="top">MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a0ecb5d72f33a7b6feadd7deb8ed46cc3">MUtils::init_process</a> (QProcess &amp;process, const QString &amp;wokringDir, const bool bReplaceTempDir=true, const QStringList *const extraPaths=NULL)</td></tr>
<tr class="memdesc:a0ecb5d72f33a7b6feadd7deb8ed46cc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a given <a href="http://doc.qt.io/qt-4.8/qprocess.html">QProcess</a> object.  <a href="../../d3/da6/namespace_m_utils.html#a0ecb5d72f33a7b6feadd7deb8ed46cc3">More...</a><br /></td></tr>
<tr class="separator:a0ecb5d72f33a7b6feadd7deb8ed46cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="memItemLeft" align="right" valign="top">MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a1c9832c1d645a2c90e9bd52d57d843b3">MUtils::next_rand_u32</a> (void)</td></tr>
<tr class="memdesc:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 32-Bit value.  <a href="../../d3/da6/namespace_m_utils.html#a1c9832c1d645a2c90e9bd52d57d843b3">More...</a><br /></td></tr>
<tr class="separator:a1c9832c1d645a2c90e9bd52d57d843b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7edd4aece64faf3aa16c9509243608c"><td class="memItemLeft" align="right" valign="top">MUTILS_API quint64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c">MUtils::next_rand_u64</a> (void)</td></tr>
<tr class="memdesc:ad7edd4aece64faf3aa16c9509243608c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> unsigned 64-Bit value.  <a href="../../d3/da6/namespace_m_utils.html#ad7edd4aece64faf3aa16c9509243608c">More...</a><br /></td></tr>
<tr class="separator:ad7edd4aece64faf3aa16c9509243608c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac583617546d5ae100ce7436546d9662c"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ac583617546d5ae100ce7436546d9662c">MUtils::next_rand_str</a> (const bool &amp;bLong=false)</td></tr>
<tr class="memdesc:ac583617546d5ae100ce7436546d9662c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a <em>random</em> string.  <a href="../../d3/da6/namespace_m_utils.html#ac583617546d5ae100ce7436546d9662c">More...</a><br /></td></tr>
<tr class="separator:ac583617546d5ae100ce7436546d9662c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29461116550863e8730f3f4ec479bbcb"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a29461116550863e8730f3f4ec479bbcb">MUtils::make_temp_file</a> (const QString &amp;basePath, const QString &amp;extension, const bool placeholder=false)</td></tr>
<tr class="memdesc:a29461116550863e8730f3f4ec479bbcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a temporary file name.  <a href="../../d3/da6/namespace_m_utils.html#a29461116550863e8730f3f4ec479bbcb">More...</a><br /></td></tr>
<tr class="separator:a29461116550863e8730f3f4ec479bbcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9afe3821ae9bef7bdf56a4183fdea0d"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#af9afe3821ae9bef7bdf56a4183fdea0d">MUtils::make_unique_file</a> (const QString &amp;basePath, const QString &amp;baseName, const QString &amp;extension, const bool fancy=false)</td></tr>
<tr class="memdesc:af9afe3821ae9bef7bdf56a4183fdea0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a unique file name.  <a href="../../d3/da6/namespace_m_utils.html#af9afe3821ae9bef7bdf56a4183fdea0d">More...</a><br /></td></tr>
<tr class="separator:af9afe3821ae9bef7bdf56a4183fdea0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea4a212153b09b24b04f30ef5159f29b"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#aea4a212153b09b24b04f30ef5159f29b">MUtils::parity</a> (quint32 value)</td></tr>
<tr class="memdesc:aea4a212153b09b24b04f30ef5159f29b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the <em>parity</em> of the given unsigned 32-Bit value.  <a href="../../d3/da6/namespace_m_utils.html#aea4a212153b09b24b04f30ef5159f29b">More...</a><br /></td></tr>
<tr class="separator:aea4a212153b09b24b04f30ef5159f29b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a14e75627eebd09efc37898d74c5ac6"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6">MUtils::remove_file</a> (const QString &amp;fileName)</td></tr>
<tr class="memdesc:a5a14e75627eebd09efc37898d74c5ac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes the specified file.  <a href="../../d3/da6/namespace_m_utils.html#a5a14e75627eebd09efc37898d74c5ac6">More...</a><br /></td></tr>
<tr class="separator:a5a14e75627eebd09efc37898d74c5ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d451ddc82668d1298f2922f62474b5d"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a4d451ddc82668d1298f2922f62474b5d">MUtils::remove_directory</a> (const QString &amp;folderPath, const bool &amp;recursive)</td></tr>
<tr class="memdesc:a4d451ddc82668d1298f2922f62474b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recursively deletes the specified directory.  <a href="../../d3/da6/namespace_m_utils.html#a4d451ddc82668d1298f2922f62474b5d">More...</a><br /></td></tr>
<tr class="separator:a4d451ddc82668d1298f2922f62474b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6118cf23d2b771fae1ad159c7ea6686a"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a">MUtils::trim_right</a> (QString &amp;str)</td></tr>
<tr class="memdesc:a6118cf23d2b771fae1ad159c7ea6686a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#a6118cf23d2b771fae1ad159c7ea6686a">More...</a><br /></td></tr>
<tr class="separator:a6118cf23d2b771fae1ad159c7ea6686a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b8fc56856ee904caaded756399e705"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705">MUtils::trim_left</a> (QString &amp;str)</td></tr>
<tr class="memdesc:a20b8fc56856ee904caaded756399e705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>leading</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#a20b8fc56856ee904caaded756399e705">More...</a><br /></td></tr>
<tr class="separator:a20b8fc56856ee904caaded756399e705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bcb0fce5181ded3c54456379147009d"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d">MUtils::trim_right</a> (const QString &amp;str)</td></tr>
<tr class="memdesc:a3bcb0fce5181ded3c54456379147009d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#a3bcb0fce5181ded3c54456379147009d">More...</a><br /></td></tr>
<tr class="separator:a3bcb0fce5181ded3c54456379147009d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43bc17b6fa4ee2287099c4ae095483b"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b">MUtils::trim_left</a> (const QString &amp;str)</td></tr>
<tr class="memdesc:ae43bc17b6fa4ee2287099c4ae095483b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove <em>trailing</em> white-space characters.  <a href="../../d3/da6/namespace_m_utils.html#ae43bc17b6fa4ee2287099c4ae095483b">More...</a><br /></td></tr>
<tr class="separator:ae43bc17b6fa4ee2287099c4ae095483b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d4c545ea06892f6487f15a48808564f"><td class="memItemLeft" align="right" valign="top">MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a4d4c545ea06892f6487f15a48808564f">MUtils::natural_string_sort</a> (QStringList &amp;list, const bool bIgnoreCase)</td></tr>
<tr class="memdesc:a4d4c545ea06892f6487f15a48808564f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort a list of strings using "natural ordering" algorithm.  <a href="../../d3/da6/namespace_m_utils.html#a4d4c545ea06892f6487f15a48808564f">More...</a><br /></td></tr>
<tr class="separator:a4d4c545ea06892f6487f15a48808564f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb7783b8ecbe163501ce60dce8b6709f"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#aeb7783b8ecbe163501ce60dce8b6709f">MUtils::clean_file_name</a> (const QString &amp;name, const bool &amp;pretty)</td></tr>
<tr class="memdesc:aeb7783b8ecbe163501ce60dce8b6709f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up a file name string.  <a href="../../d3/da6/namespace_m_utils.html#aeb7783b8ecbe163501ce60dce8b6709f">More...</a><br /></td></tr>
<tr class="separator:aeb7783b8ecbe163501ce60dce8b6709f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb5da6435b27e10443060dd2550784f3"><td class="memItemLeft" align="right" valign="top">MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#adb5da6435b27e10443060dd2550784f3">MUtils::clean_file_path</a> (const QString &amp;path, const bool &amp;pretty)</td></tr>
<tr class="memdesc:adb5da6435b27e10443060dd2550784f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean up a file path string.  <a href="../../d3/da6/namespace_m_utils.html#adb5da6435b27e10443060dd2550784f3">More...</a><br /></td></tr>
<tr class="separator:adb5da6435b27e10443060dd2550784f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#ad2a851b289ee66873d3a1ec86f5f34eb">MUtils::regexp_parse_uint32</a> (const QRegExp &amp;regexp, quint32 &amp;value)</td></tr>
<tr class="memdesc:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse regular expression results.  <a href="../../d3/da6/namespace_m_utils.html#ad2a851b289ee66873d3a1ec86f5f34eb">More...</a><br /></td></tr>
<tr class="separator:ad2a851b289ee66873d3a1ec86f5f34eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81704d66d34e37d3e0e159b5f436babf"><td class="memItemLeft" align="right" valign="top">MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a81704d66d34e37d3e0e159b5f436babf">MUtils::regexp_parse_uint32</a> (const QRegExp &amp;regexp, quint32 *values, const size_t &amp;count)</td></tr>
<tr class="memdesc:a81704d66d34e37d3e0e159b5f436babf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse regular expression results.  <a href="../../d3/da6/namespace_m_utils.html#a81704d66d34e37d3e0e159b5f436babf">More...</a><br /></td></tr>
<tr class="separator:a81704d66d34e37d3e0e159b5f436babf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2275e64c3c74dea855c39b66be67f705"><td class="memItemLeft" align="right" valign="top">MUTILS_API QStringList&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/da6/namespace_m_utils.html#a2275e64c3c74dea855c39b66be67f705">MUtils::available_codepages</a> (const bool &amp;noAliases=true)</td></tr>
<tr class="memdesc:a2275e64c3c74dea855c39b66be67f705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a list of all available codepages.  <a href="../../d3/da6/namespace_m_utils.html#a2275e64c3c74dea855c39b66be67f705">More...</a><br /></td></tr>
<tr class="separator:a2275e64c3c74dea855c39b66be67f705"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This file contains miscellaneous functions that are generally useful for Qt-based applications. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a8e7b4857b78f9749233e5abc96534ca8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e7b4857b78f9749233e5abc96534ca8">&sect;&nbsp;</a></span>MUTILS_NO_COPY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MUTILS_NO_COPY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">CLASS</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">CLASS(<span class="keyword">const</span> CLASS &amp;) { <span class="keywordflow">throw</span> <span class="stringliteral">&quot;Copy constructor is disabled!&quot;</span>; } \</div><div class="line">    CLASS &amp;operator=(<span class="keyword">const</span> CLASS &amp;) { <span class="keywordflow">throw</span> <span class="stringliteral">&quot;Assignment operator is disabled!&quot;</span>; }</div></div><!-- fragment -->
<p>Disables copy constructor and assignment operator in the specified class. This macro should be used in the "private" section of the class' declaration. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>
